package com.free.mini.core.server.api;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.free.mini.common.base.ResultData;
import com.free.mini.core.server.config.CoreServerFeignConfiguration;
import com.free.mini.core.server.vo.req.BannerConfigCreateReqVO;
import com.free.mini.core.server.vo.req.BannerConfigDelReqVO;
import com.free.mini.core.server.vo.req.BannerConfigQueryReqVO;
import com.free.mini.core.server.vo.req.BannerConfigUpdateReqVO;
import com.free.mini.core.server.vo.resp.BannerConfigQueryRespVO;

/**
 * banner Controller
 *
 * @author dongsufeng
 * @date 2023-08-22 15:17:42
 */
@FeignClient(name = "bannerConfigApi",url = "${feign.core.server.url:http://101.43.170.244:8083}", configuration = CoreServerFeignConfiguration.class)
public interface BannerConfigApi {


    @PostMapping("core/banner/v1/page")
    ResultData<Page<BannerConfigQueryRespVO>> bannerConfigList(@RequestBody @Validated BannerConfigQueryReqVO reqVO);

    @PostMapping("core/banner/v1/add")
    ResultData<Boolean> addBannerConfig(@RequestBody @Validated BannerConfigCreateReqVO reqVO) ;

    @PostMapping("core/banner/v1/delete")
    ResultData deleteBannerConfig(@RequestBody @Validated BannerConfigDelReqVO reqVO);

    @PostMapping("core/banner/v1/update")
    ResultData updateBannerConfig(@RequestBody @Validated BannerConfigUpdateReqVO reqVO);
}
